import axios from 'axios'
// import router from '@/router'
// import { ElMessage } from 'element-plus'



// 创建axios实例
let base = process.env.VUE_APP_BASIC_API
// const crosschexcloud = localStorage.getItem('crosschexcloud')
// if(crosschexcloud) {
//     base = crosschexcloud
// }
const service = axios.create({
    baseURL: base, // api 的 base_url
    timeout: 300000 // 请求超时时间
})

// console.log(process.env.VUE_APP_BASIC_API)

// request拦截器
service.interceptors.request.use(
    config => {
        const token = localStorage.getItem('token')
        // const testToken = getTestToken()
        if (token) {
            // 设置token

        }
        // if (testToken) {
        //     config.headers['X-TestToken'] = testToken
        // }
        if (typeof config.data !== 'undefined' && typeof config.data.forEach !== 'undefined') {
            config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
        } else {
            if (config.method === 'post') {
                config.data = {
                    ...config.data,

                }
            } else if (config.method === 'get') {
                if(config.param === 'no') {
                    config.params = {
                        ...config.params
                    }
                }else {
                    config.params = {

                        ...config.params
                    }
                }

            }
        }
        return config
    },
    error => {
        // Do something with request error
        // Log.error('REQUEST ERROR' + error)
        Promise.reject(error)
    }
)

// response 拦截器
service.interceptors.response.use(
    response => {
        const res = response.data

        if (res.code !== 200) {
            // token 过期
            if(res.code === 20011) {
                // 重新登录
               
               
            }
            if(res.code === 21014) {

                return response
            }
            if (res.code === 40104) {
                // store.dispatch('FedLogOut').then(() => {
                //   location.reload() // 为了重新实例化vue-router对象 避免bug
                // })
            } else if (res.code === 11001 || res.code === 11002) {
                // store.dispatch('currentUser/FedLogOut').then(() => {
                //     // location.reload() // 为了重新实例化vue-router对象 避免bug
                //     if (location.href.indexOf('/login') < 0) {
                //         router.push({ path: '/login' })
                //     }
                // })
            } else if (res.code === 11000) {
                return Promise.reject('error')
            } else if (res.code === 11003) {
                // store.commit('test/setSuperLogin', true)
                return Promise.reject('error')
            } else {
                // ElMessage({
                //     message: res.code,
                //     type: 'error',
                //     showClose: true,
                //     duration: 5 * 1000
                // })
            }
            // return Promise.reject('error')
            return response
        } else {
            // Log.info('Response:' + JSON.stringify(response.data))
            return response
        }
    },
    error => {
        if (error.response) {
            if (error.response.status === 401) {
                return Promise.reject(error)
            }
        }
        // ElMessage({
        //     message: error.message,
        //     type: 'error',
        //     duration: 5 * 1000
        // })
        return Promise.reject(error)
    }
)

export default service
